Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO ■PC-98GS SGP BIOS INT 1Fh - Function 00h 分類 SGP BIOS 名前 SGPワークRAMの読み出し Undocumented 対象 PC-98GS 入力 AH=00h ES:DX=バッファアドレス CX=読み出し要素数(6バイト単位) 出力 CF=0 解説 o SGPワークRAMからデータを読み出す。 SGP(Super Graphic Processor)とは、PC-98GSが搭載している グラフィックプロセッサである。仕様が未公開であるため、このBIOSを 使ってどのようなデータが読み出せるのかは不明。INT 1Fh - Function 01hで 書き込んだ内容が読み出せるわけではない。 o 0000:0597 bit 7=1のときのみ使用可能。 関連 INT 1Fh - Function 01h 0000:0597h bit 7 I/O A562h INT 1Fh - Function 01h 分類 SGP BIOS 名前 SGPワークRAMへの書き込み Undocumented 対象 PC-98GS 入力 AH=01h ES:DX=バッファアドレス CX=書き込みバイト数(6バイト単位) 出力 CF=0 解説 o SGPワークRAMにデータを書き込む。 SGP(Super Graphic Processor)とは、PC-98GSが搭載している グラフィックプロセッサである。仕様が未公開であるため、このBIOSを 使って転送するデータのフォーマットなどは不明。 o 0000:0597 bit 7=1のときのみ使用可能。 関連 INT 1Fh - Function 00h 0000:0597h bit 7 I/O A562h ■ハイレゾモードのマルチタスク対応割り込み INT 1Fh - Function 80h Subfunction 00h 分類 マルチタスク対応割り込み 名前 キーボードBIOSアイドル割り込み 対象 ハイレゾ 入力 AX=8000h 出力 CF=終了条件 解説 o キーボードBIOSのキー入力待ちのとき呼び出される。 戻ったときのCFの状態で、BIOSの処理が変化する。処理内容の詳細に ついては、INT 18h - Function 00hの「解説」欄を参照 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 18h - Function 00h INT 1Fh - Function 81h INT 1Fh - Function 88h INT 1Fh - Function 80h Subfunction 18h 分類 マルチタスク対応割り込み 名前 BRANCH BIOSアイドル割り込み Undocumented 対象 ハイレゾ 入力 AX=8018h 出力 CF=終了条件 解説 o 詳細不明。戻ったときのCFの状態で、BRANCH BIOSの処理が変化する。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Fh - Function 81h 分類 マルチタスク対応割り込み 名前 割り込みハンドラからの呼び出し Undocumented 対象 ハイレゾ 入力 AH=81h AL=デバイス種類 00h: キーボード割り込みハンドラからの呼び出し 18h: BRANCH4670割り込みハンドラからの呼び出し 40〜43h: 不明 44〜47h: 不明 48〜4Bh: 不明 4C〜4Fh: 不明 出力 なし 解説 o キーバッファに1文字格納されたとき、キーボード割り込み(INT 09h)ハンドラ がAL=00hで呼び出す。呼び出しタイミングは、INT 1Fh - Function 88hを 参照。 o BRANCH BIOSの外部割り込みハンドラは、AL=18hで呼び出す。ほかにも、 AL=40〜4Fhで呼び出される場合があるが、詳細不明。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Fh - Function 80h INT 1Fh - Function 88h INT 1Fh - Function 82h 分類 マルチタスク対応割り込み 名前 プリンタBUSY時の割り込み 対象 ハイレゾ 入力 AH=82h AL=デバイス種類 08h: プリンタ 4C〜4Fh :不明 出力 なし 解説 o プリンタへの送信をINT 1Ah - Function 14hで行ったとき、プリンタがBUSY 状態の場合にAL=08hで呼び出される。呼び出しタイミングは、INT 1Ah - Function 14hを参照。 o AL=4C〜4Fhで呼び出される場合があるが、詳細不明。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Ah - Function 14h INT 1Fh - Function 83h 分類 マルチタスク対応割り込み 名前 受信割り込み発生通知 対象 ハイレゾ 入力 AH=83h AL=割り込み発生チャネル番号 10h: RS-232C CH#0からデータを受信した 11h: RS-232C CH#1からデータを受信した 12h: RS-232C CH#2からデータを受信した 18h: BRANCH4670 ソケット80hの処理を実行した 19h: BRANCH4670 ソケット90hの処理を実行した 1Ah: BRANCH4670 ソケットA0hの処理を実行した 1Bh: BRANCH4670 ソケットB0hの処理を実行した 40〜43h: 不明 出力 なし 解説 o RS-232CをINT 19h - Function 07h(拡張モード)で初期化したとき、 RS-232C割り込みハンドラが毎受信割り込み終了時(IRETの直前)に、 AL=10〜12hで呼び出す。 o BRANCH BIOSの外部割り込みハンドラは、AL=18〜1Bhで呼び出す。ほかにも、 AL=40〜43hで呼び出される場合があるが、詳細不明。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 19h - Function 07h INT 1Fh - Function 88h 分類 マルチタスク対応割り込み 名前 キーボード割り込みハンドラからの呼び出し 対象 ハイレゾ 入力 AH=88h AL bit 7 :Make/Break 1= Make(キーが押された) 0= Break(キーが離された) AL bit 6〜0:状態の変化したキーのキーコード BL=割り込み発生時点のシフトキーフラグ状態(0000:053Ah) 出力 CF=キー処理方法の通知 1= キーボード割り込みハンドラに処理をスキップさせる 0= キーボード割り込みハンドラに処理をさせる 解説 o キーが押されるか離されるかする(状態が変化する)と、キーボード割り込み (INT 09h)ハンドラのなかからこのファンクションが呼び出される。 このとき、ALにはキーのMake/Break状態とキーコードが、BLにはその時点 でのシフトキーフラグの状態がセットされている。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 o このファンクションをフックすると、特定のキーが押された(離された) ときのキーボード割り込みハンドラの処理をスキップさせることができる。 このファンクションが呼ばれたとき、処理をスキップさせたいキーの キーコードがセットされていたなら、CF=1にして戻る。すると、キーボード 割り込みハンドラは、そのキーに対する処理を行わない。 ただし、80x86CPUでは、内部割り込み(INT)実行時、フラグの状態を保存する ため、INTの呼び出し元にキャリーフラグで状態を通知するには、スタック 上のフラグを操作する必要がある。プログラム例を表 [INT 1Fh - Function 88hハンドラの例]に示した。 u テクニカルデータブックでは、このファンクションの存在には触れられて いるが、具体的な使用方法は示されていない。 u ハイレゾモードでは、キーが押される(離される)と以下のような処理を 行う。 1. キーが押される(Make)か離される(Break)かすると、キーボードは 状態が変化したキーのキーコードとMake/Break状態を、本体にシリアル データで送信する。本体のキーボードインターフェース(8251A)は、 キーボードからのデータを受信すると割り込み(INT 09h)を発生させる。 CPUは、割り込みを受け付けるとキーボード割り込み(INT 09h)ハンドラを 実行し、以下のような処理を行う。 2. まず最初に、8251Aのステータスを取得して受信エラーの有無の判定を 行う。受信データにエラー(フレーミングエラー,オーバーランエラー, パリティエラーのいずれか)があったときは、次のような処理を行う。 キーボードに対してデータの再送信を要求する。エラーを起こした受信 データを8251Aから受け取り、捨てる。割り込みハンドラを終了する。 エラーの発生回数はカウントされ、3回までリトライを行う。4回以上 受信エラーが起こったときはリトライを諦め、エラーを無視して以下の 処理を続ける。 3. 受信エラーがなければ、8251Aから受信データを受け取る。 これを元に、0000:052A〜0539hの押下状態テーブルを更新する。 4. ALに受信データ、BLにその時点でのシフトキーフラグ状態をセットして、 INT 1Fh - Function 88hを実行する。 5. INT 1Fh - Function 88hを実行した結果、CF=1だったときは、その 受信データに対して、6.以降の処理をしない。ただちに割り込みハンドラを 終了する。 CF=0だったときは、継続して以下の処理を行う。 6. 0000:0418hの内部割り込みキー設定テーブルを参照して、受信データが 内部割り込みを発生させるキーだった場合、INT 05hまたはINT 06hを実行 したあと、割り込みハンドラを終了する。 7. 0000:0408hのシフトキー定義テーブルを参照して、受信データがシフト キーとして定義されているキーだった場合、0000:053Ahのシフトキー 押下状態フラグを更新したあと、割り込みハンドラを終了する。 8. 受信データがBreakを示すものだった場合、ここで割り込みハンドラを終了 する。 9. 受信データがMakeを示すものだった場合、キーバッファに、シフトキー 状態と受信データを追加する。キーバッファがオーバーフローするときは、 データを追加せず、ビープ(2kHz,100ms)を鳴らしてから割り込みハンドラを 終了する。 10.この時点で、バッファ内のキー入力データが1文字分だったとき、 INT 1Fh - Function 8100hを実行する。 11.割り込みハンドラを終了する。 表 INT 1Fh - Function 88hハンドラの例 NewInt1F88 PROC FAR ;XAキーボードの[HOME]が押されたことを無視する場合 ;(シフト状態はチェックしない) cmp al,5Eh + 80h ;HOMEのMAKE jne IsNotHOME ;スタック上のキャリーフラグを1にする push bp mov bp,sp or [bp+06h],BYTE PTR 01h ;CF=1 pop bp IsNotHOME: iret NewInt1F88 ENDP 関連 INT 1Fh - Function 80h INT 1Fh - Function 81h INT 09h 0000:053Ah INT18KB.TXTのキーコード・キーデータ表 ■レジューム制御 INT 1Fh - Function 8B00h 分類 RESUME BIOS 名前 EMM386用レジューム処理 対象 PC-9801NS/E・NC・NL・NS/L・NA 入力 AX=8B00h 出力 なし 解説 o 以下の条件のときに電源をONすると、電源ONの直後にBIOSがこの ファンクションを発行する。 ・レジューム機能がON ・0000:0400h bit 4=1 o BIOSが仮想86モード利用のEMSドライバ(以下、V86EMSドライバと略)に 対して、電源ONを通知するために利用する。 EMM386.SYS(レジューム対応版), EMM386.EXEは、このファンクションを トラップする。EMM386がインストールされているとき、このファンクションを 実行すると、INT 1Fh - Function 8C00hで解除した仮想86モードを再度ONする ことができる。 BIOS内にこのファンクションの処理ルーチンがあるわけではない。 o V86EMSドライバを組み込んだ状態でレジュームを行う場合、仮想86モードの まま電源をOFFすると、再度電源をONしたときに仮想86モード関係の状態を 復帰することができない(CPUがSMM機能をサポートしていない場合)。 レジュームに対応するためには、次のような手続きが必要になる。 すなわち、電源をOFFする直前に、BIOSはV86EMSドライバに対してこれから 電源をOFFすることを通知する。この通知を受けたV86EMSドライバは、 仮想86モード関係の状態を待避し、仮想86モードをOFFにする。 また、電源をONした直後にも、BIOSはV86EMSドライバに対して電源がONに なったことを通知する。この通知を受けたV86EMSドライバは、 仮想86モード関係の状態を復帰し、仮想86モードをONにする。 電源ONの通知をINT 1Fh - Function 8B00hで、電源OFFの通知を INT 1Fh - Function 8C00hで行う。 o PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne等はCPUがSMM機能をサポート しており、CPU内部にサスペンド/レジューム機能を内蔵しているため、 このファンクションは発行されない。 u PC-9801NLはV30HLを搭載しているため仮想86モードを利用できないが、 このファンクションは発行される。 関連 INT 1Fh - Function 8B80h INT 1Fh - Function 8C00h INT 1Fh - Function 9A20h 0000:0400h bit 5,4 INT 1Fh - Function 8B80h 分類 RESUME BIOS 名前 レジューム後処理 Undocumented 対象 PC-9801NV・NS/E・NC・NL・NS/L・NA 入力 AX=8B80h 出力 なし 解説 o 以下の条件のときに電源をONすると、INT 1Fh - Function 8B00hに続いて BIOSがこのファンクションを発行する(PC-9801NVは、INT 1Fh - Function 8B00hを発行しないので、このファンクションだけが呼び出される)。 ・レジューム機能がON ・0000:0400h bit 4=1 o レジュームのために特別な処理が必要なデバイスドライバ等は、 このファンクションをトラップしておくことで、電源ON後に必要な処理を 行うことができる。 BIOS内にこのファンクションの処理ルーチンがあるわけではない。ドライバ 等がフックするために定義されている割り込みである。 o PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne等はCPUがSMM機能をサポート しており、CPU内部にサスペンド/レジューム機能を内蔵しているため、 このファンクションは発行されない。 関連 INT 1Fh - Function 8B00h INT 1Fh - Function 8C80h INT 1Fh - Function 9A20h 0000:0400h bit 5,4 INT 1Fh - Function 8C00h 分類 RESUME BIOS 名前 EMM386用サスペンド処理 対象 PC-9801NS/E・NC・NL・NS/L・NA 入力 AX=8C00h 出力 なし 解説 o 以下の条件のときに電源をOFFすると、電源OFFの直前にBIOSがこの ファンクションを発行する。 ・レジューム機能がON ・0000:0400h bit 4=1 o BIOSが仮想86モード利用のEMSドライバ(以下、V86EMSドライバと略)に 対して、電源OFFを通知するために利用する。 EMM386.SYS(レジューム対応版), EMM386.EXEは、このファンクションを トラップする。EMM386がインストールされているとき、このファンクションを 実行すると、仮想86モードがOFFになる。 BIOS内にこのファンクションの処理ルーチンがあるわけではない。 o V86EMSドライバを組み込んだ状態でレジュームを行う場合、仮想86モードの まま電源をOFFすると、再度電源をONしたときに仮想86モード関係の状態を 復帰することができない(CPUがSMM機能をサポートしていない場合)。 レジュームに対応するためには、次のような手続きが必要になる。 すなわち、電源をOFFする直前に、BIOSはV86EMSドライバに対してこれから 電源をOFFすることを通知する。この通知を受けたV86EMSドライバは、 仮想86モード関係の状態を待避し、仮想86モードをOFFにする。 また、電源をONした直後にも、BIOSはV86EMSドライバに対して電源がONに なったことを通知する。この通知を受けたV86EMSドライバは、 仮想86モード関係の状態を復帰し、仮想86モードをONにする。 電源ONの通知をINT 1Fh - Function 8B00hで、電源OFFの通知を INT 1Fh - Function 8C00hで行う。 o 電源OFFの実際の処理は、NOTEシステム割り込み(INT 0EhまたはINT 17h) ハンドラが行っている。このファンクションもNOTEシステム割り込みから 呼び出される。 o PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne等はCPUがSMM機能をサポート しており、CPU内部にサスペンド/レジューム機能を内蔵しているため、 このファンクションは発行されない。 u PC-9801NLはV30HLを搭載しているため仮想86モードを利用できないが、 このファンクションは発行される。 関連 INT 1Fh - Function 8B00h INT 1Fh - Function 8C80h INT 1Fh - Function 98h INT 1Fh - Function 9A20h INT 0Eh(外部割り込み…98NOTE) INT 17h(外部割り込み…98NOTE) 0000:0400h bit 5,4 INT 1Fh - Function 8C80h 分類 RESUME BIOS 名前 サスペンド前処理 Undocumented 対象 PC-9801NV・NS/E・NC・NL・NS/L・NA 入力 AX=8C80h 出力 CF=終了条件 1=電源OFF不可能 0=電源OFF可能 解説 o 以下の条件のときに電源をOFFしようとすると、INT 1Fh - Function 8C00h の前にBIOSがこのファンクションを発行する(PC-9801NVは、INT 1Fh - Function 8C00hを発行しないので、このファンクションだけが呼び出される)。 ・レジューム機能がON ・0000:0400h bit 4=1 o レジュームのために特別な処理が必要なデバイスドライバ等は、 このファンクションをトラップしておくことで、電源OFF時の前に必要な 処理を行うことができる。 BIOS内にこのファンクションの処理ルーチンがあるわけではない。ドライバ 等がフックするために定義されている割り込みである。 o 電源OFFの実際の処理は、NOTEシステム割り込み(INT 0EhまたはINT 17h) ハンドラが行っている。このファンクションもNOTEシステム割り込みから 呼び出される。 o このファンクションがCF=1で終了した場合、BIOSはサスペンド前処理が失敗 したものとみなし、次回のNOTEシステム割り込みで再度このファンクションを 実行する。CF=0で終了するまでこれを繰り返す。 o PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne等はCPUがSMM機能をサポート しており、CPU内部にサスペンド/レジューム機能を内蔵しているため、 このファンクションは発行されない。 関連 INT 1Fh - Function 8B80h INT 1Fh - Function 8C00h INT 1Fh - Function 98h INT 1Fh - Function 9A20h INT 0Eh(外部割り込み…98NOTE) INT 17h(外部割り込み…98NOTE) 0000:0400h bit 5,4 図 レジュームON時の電源ON/OFF 書籍の図を参照 INT 1Fh - Function 8Bh 分類 RESUME BIOS 名前 レジューム処理 Undocumented 対象 PC-98HA 入力 AH=8Bh 出力 なし 解説 o 電源をONすると、BIOSがこのファンクションを発行する。 o INT 1Fh - Function 8Chとペアで使用して、レジューム対応処理を 行う場合に使用できる模様。詳細不明。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Fh - Function 8Ch INT 1Fh - Function 8Ch 分類 RESUME BIOS 名前 サスペンド処理 Undocumented 対象 PC-98LT・HA 入力 AH=8Ch 出力 CF=終了条件 1=電源OFF不可能 0=電源OFF可能 解説 o 電源をOFFしようとすると、BIOSがこのファンクションを発行する。 任意のタイミングで電源がOFFになっては困るようなアプリケーションや ドライバが使用するためのものと考えられる。詳細不明。 PC-98HAでは、INT 1Fh - Function 8Bhとペアでレジューム対応処理を 行う場合にも使用できる。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Fh - Function 8Bh INT 1Fh - Function 8Dh 分類 ??? 名前 不明 Undocumented 対象 PC-98LT 入力 AH=8Dh 出力 CF=終了条件 解説 o PC-98LTのINT 0Ahハンドラ内で使用。PC-98HAでは使用されていない模様。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 ■PC-98HA アラームBIOS INT 1Fh - Function 8Eh 分類 ALARM BIOS 名前 アラーム通知 対象 PC-98HA 入力 AH=8Eh 出力 CF=終了条件 0: アラーム処理を行わない 1: アラーム処理を行う 解説 o INT 1Ch - Function 07hで設定したアラームの設定時刻と一致したとき、 BIOSが発行する。 o CFで、BIOSにアラーム処理を行わせるかどうかを通知する。 CF=1でリターンすると、BIOSは100ms毎にINT 1Fh - Function 8Fhを 発行するようになる。CF=0でリターンすると、INT 1Fh - Function 8Fhは 発行されない。 o 設定時刻になったときにブザーを鳴らしたい場合は、このファンクションと INT 1Fh - Function 8Fhをフックする。INT 1Fh - Function 8Fhの処理 ルーチン内でブザーのON/OFFを行う。 アラームの設定時刻になったとき、BIOSはINT 1Fh - Function 8Eh,8Fhを 発行するだけで、ブザーを鳴らすなどの処理は一切行わない。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Ch - Function 07h INT 1Fh - Function 8Fh INT 1Fh - Function 8Fh 分類 ALARM BIOS 名前 アラーム鳴動用タイマ 対象 PC-98HA 入力 AH=8Fh 出力 CF=終了条件 1: アラーム処理を中止する 0: アラーム処理を続行する 解説 o INT 1Fh - Function 8EhからCF=1でリターンしたとき、100ms毎にBIOSが 発行する。 o CFで、BIOSにアラーム処理を続行するかどうかを通知する。 CF=0でリターンすると、継続して100ms毎にこのファンクションが発行 される。CF=1でリターンすると、このファンクションの発行が止まる。 o BIOS内にこのファンクションの処理ルーチンがあるわけではない。 アプリケーションやドライバがフックするために定義されている 割り込みである。 関連 INT 1Ch - Function 07h,08h,09h INT 1Fh - Function 8Eh ■プロテクトメモリBIOS INT 1Fh - Function 90h 分類 プロテクトメモリBIOS 名前 プロテクトメモリとのメモリ転送 Undocumented 対象 80286以上のCPU搭載機 入力 AH=90h ES:BX=セグメントディスクリプタのポインタ SI=転送元アドレスのオフセット(セグメントはDSのセレクタで指定) DI=転送先アドレスのオフセット(セグメントはESのセレクタで指定) CX=転送バイト数(0のとき64KB) <セグメントディスクリプタの構造> -------------+-------------------------- アドレス |内容 -------------+-------------------------- ES:BX+00〜0Fh|リザーブ(ユーザ設定不要) ES:BX+10〜17h|DS用(ユーザ設定必要) ES:BX+18〜1Fh|ES用(ユーザ設定必要) ES:BX+20〜27h|CS用(ユーザ設定不要) ES:BX+28〜2Fh|SS用(ユーザ設定不要) -------------+-------------------------- 出力 CF=終了条件 1: エラー(CPUがV30、またはV30相当モードのとき) 0: 正常終了 解説 o プロテクトメモリとのメモリ転送を行う。 関連 0000:0401h INT 1Fh - Function 91h INT 1Fh - Function 91h 分類 プロテクトメモリBIOS 名前 プロテクトメモリ上でのプログラム実行 Undocumented 対象 80286以上のCPU搭載機 入力 AH=91h ES:BX=セグメントディスクリプタのポインタ DH=マスタPICイニシャライズ時のICW2(先頭割り込み番号) DL=スレーブPICイニシャライズ時のICW2(先頭割り込み番号) <セグメントディスクリプタの構造> -------------+-------------------------- アドレス |内容 -------------+-------------------------- ES:BX+00〜07h|リザーブ(ユーザ設定不要) ES:BX+08〜0Fh|GDT(ユーザ設定必須) ES:BX+10〜17h|IDT(ユーザ設定必須) ES:BX+18〜1Fh|DS用(ユーザ設定任意) ES:BX+20〜27h|ES用(ユーザ設定任意) ES:BX+28〜2Fh|SS用(ユーザ設定必須) ES:BX+30〜37h|CS用(ユーザ設定必須) -------------+-------------------------- 出力 CF=終了条件 1: エラー(CPUがV30、またはV30相当モードのとき) 0: 正常終了 解説 o プロテクトメモリ上のプログラムに実行を移す。 o ファンクション実行前に以下の準備が必要。 - SHUT 0 = 0にする(OUT 37h,0Eh) - 戻りアドレスのセグメントをPUSH(PUSH CS) - 戻りアドレスのオフセットをPUSH(PUSH オフセットアドレス) - 0000:0404hにSPの値を保存 - 0000:0406hにSSの値を保存 o ユーザプログラムはIRETで終了する。 関連 INT 1Fh - Function 90h 0000:0404h I/O 0037h INT 1Fh - Function 92h 分類 ??? BIOS 名前 不明 Undocumented 対象 PC-9801P 入力 AH=92h AL=00h,01h 出力 なし 解説 o 不明。I/O 998Eh bit 1を操作する。 AL=00hのときI/O 998Eh bit 1=0にする AL=01hのときI/O 998Eh bit 1=1にする u BIOS内のAH=92hを判定する部分で、コンペア(cmp ah,92h)のあとの条件 分岐命令の論理が本来とは逆になっている。このため、AH=92hでINT 1Fhを 実行しても、このファンクションの本来の処理ルーチンが実行されない。 逆に、もともと処理ルーチンがないAH=93〜95h,99h,9B〜9Dh,9Fhなどで INT 1Fhを実行したとき、このファンクションの本来の処理ルーチンが 実行される。 関連 I/O 998Eh bit 1 ■ディスプレイサスペンドBIOS INT 1Fh - Function 93h 分類 ディスプレイサスペンドBIOS 名前 ディスプレイの低消費電力モード制御 Undocumented 対象 PC-9801BA2・BS2・BX2, PC-9821Ap2・As2・Bf・Bp・Bs・Be・Ts・Cs2・Ce2 入力 AH=93h AL=モード 00h: サスペンドモードに移行する(表示OFF) 01h: ONモードに移行する(表示ON) 出力 なし 解説 o DPMS(Display Power Management System)対応ディスプレイの低消費電力モード の設定を行う。 o AL=00hで実行すると、ビデオ出力信号のうちR,G,B,VSYNC信号が停止する。 DPMS対応ディスプレイが接続されていれば、ディスプレイはサスペンド モードに移行する。DPMSで規定されているスタンバイモード(R,G,B,HSYNC 信号が停止する)に移行する機能はない。 o PC-9821Tsでは、サスペンドモードのときLCDのバックライトが消灯する。 o PC-9801NS/A・NL/Rはこのファンクションをサポートしていない。 u このファンクションをAL=00hで2回以上連続して実行すると、 0000:05B4h,05B5hに保存されているCRT関係のハードウェアの状態が破壊されて しまい、AL=01hでディスプレイの状態を正常に復帰できなくなる。 関連 0000:05B4h 0000:05B5h I/O 09A2h INT 1Fh - Function 9A07h ■ROM ドライブBIOS INT 1Fh - Function 94h 分類 ROMドライブ BIOS 名前 ROMドライブからの読み出し Undocumented 対象 PC-98LT・HA, PC-9801NL 入力 AH=94h CX=転送データ長(単位:16バイト) DX=ROMドライブ内の転送開始アドレス(単位:16バイト) ES:BX=転送アドレス 出力 CF=0 解説 o 内蔵ROMドライブの内容をバッファに読み出す。 o ROMドライブにはMS-DOSのシステムが格納されており、ROMドライブから ブートすることができる。ROMドライブからブートしたとき、ROMドライブの ドライブ名はC:になる。 関連 INT 1Fh - Function 95h 文献 TheBASIC'92/6-p.109 (c)enjo INT 1Fh - Function 95h 分類 ROMドライブ BIOS 名前 ROMドライブへの書き込み Undocumented 対象 PC-98LT・HA, PC-9801NL 入力 AH=95h CX=転送データ長(単位:16バイト) DX=ROMドライブ内の転送開始アドレス(単位:16バイト) ES:BX=転送アドレス 出力 CF=終了条件 1: 書き込み不可能(領域不足、またはライトプロテクトON) 0: 正常終了 解説 o 内蔵ROMドライブにパッチを行う。 o ROMドライブ搭載機種は、バッテリバックアップされたSRAMを内蔵して いる。このSRAMを利用して、ROMドライブの内容をパッチすることができる。 o SRAMのパッチ用の領域が不足すると、CF=1で戻る。 o PC-98LT・HAは、I/O 0035h bit 5がライトプロテクトビットになっている。この 値が0のとき、書き込み禁止。 o PC-9801NLは、INT 1Fh - Function 9Dh Subfunction 00h,01hでライト プロテクト状態を制御可能。 関連 INT 1Fh - Function 94h INT 1Fh - Function 9Dh Subfunction 00h,01h INT 1Fh - Function 9Dh Subfunction 02h 0000:045Ch bit 3[PC-9801NL] I/O 0035h bit 5[PC-98LT・HA] 文献 TheBASIC'92/6-p.109 (c)enjo ■98NOTE関連BIOS INT 1Fh - Function 96h 分類 ??? BIOS 名前 内蔵モデムの設定状態取得 Undocumented 対象 98NOTE, PC-9801US, PC-98HA 入力 AH=96h 出力 DX=内蔵モデムの設定状態 bit 15=モデム電源 1=ON 0=OFF bit 14=パリティ(INT 1Fh - Function 97hで設定する時にはDon't care) bit 13=ロスオブキャリアデスコネクト 1=しない 0=する bit 12=CIオプション選択 1=しない 0=する bit 11=CDオプション選択 1=しない 0=する bit 10=アンサートーン確認 1=しない 0=する bit 9=アンサートーン送出 1=しない 0=する bit 8=自動着信 1=しない 0=する bit 7=ブザー停止 1=しない 0=する bit 6,5=ダイヤルモード 11b=20pps 10b=10pps 00b=トーン bit 4=ループバックテスト 1=しない 0=する bit 3,2=通信速度 [2400bps/300bps/1200bps/AUTO=00/01/10/11] 11b=AUTO 10b=1200bps 01b=300bps 00b=2400bps bit 1,0=モデムモード 10b=CALL 01b=ANS 00b=AUTO 解説 o 内蔵モデムの現在の設定状態を読み出す。 u PC-9801NL・NS/L・P・NS/A・NL/R・US, PC-9821Neはモデム専用スロットを 持たないが、処理が残っている。 関連 INT 1Fh - Function 97h メモリSW 14h[PC-98HA] メモリSW 15h[PC-98HA] INT 1Fh - Function 97h 分類 ??? BIOS 名前 内蔵モデムの設定 Undocumented 対象 98NOTE, PC-9801US, PC-98HA 入力 AH=97h DX=モデム設定値 * 設定値はINT 1Fh - Function 96hを参照 出力 なし 解説 o 内蔵モデムの状態設定を行う。 このファンクションの設定は、98NOTEメニューにも反映する。 u PC-9801NL・NS/L・P・NS/A・NL/R・US, PC-9821Neはモデム専用スロットを 持たないが、処理が残っている。 関連 INT 1Fh - Function 96h メモリSW 14h[PC-98HA] メモリSW 15h[PC-98HA] ■電源BIOS INT 1Fh - Function 98h 分類 電源BIOS 名前 電源OFF Undocumented 対象 PC-98LT・HA, PC-9801LV・UV11・CV, 98NOTE, PC-H98 入力 AH=98h 出力 なし 解説 o 電源をOFFする。 o レジュームが可能な機種では、システム割り込みハンドラが実際の電源OFF 処理を行う。このため、このファンクションの実行と実際の電源OFFは 非同期になる。CPUは、電源がOFFになるまで、このファンクションを 呼び出したINT 1Fhに続く命令を実行し続ける。 o レジュームON時に電源を入れたとき、ユーザプログラムの実行が再開される アドレスは、実際に電源をOFFにしたシステム割り込みからリターンする 位置である。 u PC-9801Nでは、このファンクションを実行すると暴走する。 PC-9801NSは、処理ルーチンはあるが、そこで実行しているI/O操作では 電源OFFしない。 PC-9801UV11・CVは、PC-9801LVと同じROMを持っているためこの ファンクションの処理ルーチンが存在するが、電源はOFFできない。 関連 INT 0Ah(外部割り込み…LT・HA) INT 0Eh(外部割り込み…98NOTE) INT 17h(外部割り込み…98NOTE) INT 1Fh - Function 8Ch INT 1Fh - Function 8C00h INT 1Fh - Function 8C80h INT 1Fh - Function 9Eh Subfunction 00h,01h INT 1Fh - Function DFh ■PC-98HA関連BIOS INT 1Fh - Function 99h 分類 ??? BIOS 名前 不明 Undocumented 対象 PC-98HA 入力 AH=99h 出力 CF 解説 o 不明 関連 ■98NOTE Advanced Power Management BIOS INT 1Fh - Function 9A00h 分類 Advanced Power Management BIOS 名前 Installation Check Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A00h 出力 CF=0(正常終了) AH=メジャーバージョン(BCD) AL=マイナーバージョン(BCD) BX=504Dh('PM') CX=機能フラグ bit 7〜4 = 予約 bit 3 = パワーマネジメント 1: 無効 0: 有効(PC-9800では常に0) bit 2 = CPUアイドル状態 1: 低速(低消費電力) 0: 最高速(PC-9800では常に0) bit 1 = 32ビットプロテクトモードインターフェースのサポート 1: する 0: しない bit 0 = 16ビットプロテクトモードインターフェースのサポート 1: する 0: しない ----------------+---+---+----- 機種名 |AH |AL |CX ----------------+---+---+----- PC-9801NS/R |01h|00h|0003h PC-9801P |01h|01h|0003h PC-9801NX/C・NL/R|01h|02h|0003h PC-9821Ne |01h|03h|0003h PC-9801NS/A |01h|03h|0003h ----------------+---+---+----- 解説 o APM-BIOSの存在チェックを行う。 o IBM-PC/AT互換機のINT 15h - Function 5300hに相当。 関連 INT 1Fh - Function 9A01h 分類 Advanced Power Management BIOS 名前 Interface Connect Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A01h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 02h: 既に使用開始宣言がなされている 解説 o APM BIOSの使用開始宣言(リアルモード用)を行う。 o IBM-PC/AT互換機のINT 15h - Function 5301hに相当。 関連 INT 1Fh - Function 9A04h INT 1Fh - Function 9A02h 分類 Advanced Power Management BIOS 名前 Protected Mode 16-bit Interface Connect Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A02h 出力 ■CF=0(正常終了)のとき AX=16ビットプロテクトモードコードセグメントの リアルモードにおけるセグメントアドレス BX=エントリアドレスのオフセット CX=16ビットプロテクトモードデータセグメントの リアルモードにおけるセグメントアドレス ■CF=1(エラー)のとき AH=リターンコード 05h: 既に使用開始宣言がなされている 06h: サポートされていない 解説 o APM-BIOSの使用開始宣言(仮想86モード用)を行う。 o IBM-PC/AT互換機のINT 15h - Function 5302hに相当。 関連 INT 1Fh - Function 9A04h INT 1Fh - Function 9A03h 分類 Advanced Power Management BIOS 名前 Protected Mode 32-bit Interface Connect Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A03h 出力 ■CF=0(正常終了)のとき AX=32ビットプロテクトモードコードセグメントの リアルモードにおけるセグメントアドレス EBX=エントリアドレスのオフセット CX=16ビットプロテクトモードコードセグメントの リアルモードにおけるセグメントアドレス DX=16ビットプロテクトモードデータセグメントの リアルモードにおけるセグメントアドレス ■CF=1(エラー)のとき AH=リターンコード 07h: 既に使用開始宣言がなされている 08h: サポートされていない 解説 o APM-BIOSの使用開始宣言(プロテクトモード用)を行う。 o IBM-PC/AT互換機のINT 15h - Function 5303hに相当。 関連 INT 1Fh - Function 9A04h INT 1Fh - Function 9A04h 分類 Advanced Power Management BIOS 名前 Interface Disconnect Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A04h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o APM-BIOSの使用停止宣言を行う。 o IBM-PC/AT互換機のINT 15h - Function 5304hに相当。 関連 INT 1Fh - Function 9A01h INT 1Fh - Function 9A02h INT 1Fh - Function 9A03h INT 1Fh - Function 9A05h 分類 Advanced Power Management BIOS 名前 CPU Idle Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A05h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o CPUを低速(低消費電力)状態にする。 o IBM-PC/AT互換機のINT 15h - Function 5305hに相当。 関連 INT 1Fh - Function 9A06h INT 1Fh - Function 9A06h 分類 Advanced Power Management BIOS 名前 CPU Busy Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A06h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o CPUを最高速状態にする。 o IBM-PC/AT互換機のINT 15h - Function 5306hに相当。 関連 INT 1Fh - Function 9A05h INT 1Fh - Function 9A07h 分類 Advanced Power Management BIOS 名前 Set Power State Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A07h BH=デバイスID 00h: システム全体 01h: ディスプレイ(バックライト) 02h: フロッピーディスク 03h: ハードディスク 04h: プリンタ 05〜FFh: リザーブ CX=システムステートID 0000h: レディ 0001h: スタンバイ 0002h: サスペンド 0003h: オフ ------+----------------+----------+----------+----------+----------+ システム |デバイスID |デバイスID|デバイスID|デバイスID|デバイスID| ステートID| 00h | 01h| 02h| 03h| 04h| ------+----------------+----------+----------+----------+----------+ 0000h |バックライトON |バックライトON |無動作 |無動作 |無動作 | ------+----------------+----------+----------+----------+----------+ 0001h |バックライト・FDD-HDD |バックライトOFF|FDD モータOFF|HDD モータOFF|プリンタポート | |モータOFF,プリンタポート| | | |にFFh出力 | |にFFh出力 | | | | | ------+----------------+----------+----------+----------+----------+ 0002h | レジュームをONにして電源切断 | ------+----------------+----------+----------+----------+----------+ 0003h | 即座に電源切断 | ------+----------------+----------+----------+----------+----------+ 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 09h: BHレジスタの値が範囲外 0Ah: CXレジスタの値が範囲外 60h: 電源切断が禁止されている 解説 o デバイス毎の電源制御を行う。 デバイスIDで、電源制御を行うデバイスを指定する。00hを指定すると、 デバイスID 01〜04hのデバイス全てが対象になる。 システムステートIDで、電源制御のレベルを指定する。 o IBM-PC/AT互換機のINT 15h - Function 5307hに相当 (設定内容は異なる)。 関連 INT 1Fh - Function 93h INT 1Bh - Function F0h(IDE HD) INT 1Bh - Function 83h(FD) INT 1Fh - Function 9A08h 分類 Advanced Power Management BIOS 名前 Enable/Disable Power Management Functionality Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A08h CX=自動パワーセービング機能 0000h=無効 0001h=有効 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 01h: CXレジスタの値が範囲外 03h: APM BIOSは使用開始宣言されていない 解説 o 自動パワーセービング機能を無効にすると、自動的にパワーセービング モードに移行しないようになる。 このとき、INT 1Fh - Function 9A05hを実行して強制的に パワーセービングモードに移行させることは可能。 o IBM-PC/AT互換機のINT 15h - Function 5308hに相当。 関連 INT 1Fh - Function 9A09h 分類 Advanced Power Management BIOS 名前 Restore SYSTEM-BIOS Power On Defaults Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A09h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 電源をONしたときと同じように、BIOSを初期化する。 プリンタBIOS、フロッピーディスクBIOS、ハードディスクBIOS、 Pen BIOS、CRT BIOSの初期化ファンクションを実行する。 o IBM-PC/AT互換機のINT 15h - Function 5309hに相当。 関連 INT 1Fh - Function 9A0Ah 分類 Advanced Power Management BIOS 名前 Get Power Status Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A0Ah 出力 ■CF=0(正常終了)のとき BL=ACアダプタの接続状態 00h: 接続されていない 01h: 接続されている CL=バッテリパックの残量 bit 7〜5: 未使用 bit 4〜0: バッテリステータス CH=セカンドバッテリパックの残量 bit 7〜5: 未使用 bit 4〜0: バッテリステータス <バッテリステータスの意味> --------+------------------------------------------------------------ 値 |意味(<>内の表記は、98NOTEメニューのバッテリ残量表示欄の表現) --------+------------------------------------------------------------ x1xxxb |<未確定> 00000b |バッテリの残り容量[0/8] 00001b |バッテリの残り容量[1/8] 00010b |バッテリの残り容量[2/8] 00011b |バッテリの残り容量[3/8] 00100b |バッテリの残り容量[4/8] 00101b |バッテリの残り容量[5/8] 00110b |バッテリの残り容量[6/8] 00111b |バッテリの残り容量[7/8] 10111b |バッテリの残り容量[8/8](満充電) 10001b |バッテリの残り容量[0/8](0/8には2通りの表現がある) 10000b |<未接続> 10010b |<初期充電>または<深放電> 10100b |<異常> 上記以外|<無効> --------+------------------------------------------------------------ ■CF=1(エラー)のとき AH=リターンコード 01h: バッテリステータスの取得に失敗 03h: APM BIOSは使用開始宣言されていない 解説 o 電源の状態を取得する。 o PC-9801NL/Rはバッテリパックの残量を取得できないため、常に 残り容量4/8を返す。 PC-9801P・NL/Rはセカンドバッテリパックが使用できないため、常に <未接続>を返す。 o IBM-PC/AT互換機のINT 15h - Function 530Ahに相当 (取得できる情報の内容は異なる)。 関連 I/O 8810h INT 1Fh - Function 9A0Bh 分類 Advanced Power Management BIOS 名前 Get PM Event Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A0Bh 出力 ■CF=0(正常終了)のとき CL=イベントステータス bit 2 : ノートメニュー(ペンメニュー)要求 0=なし 1=あり bit 1 : 電源切断要求 0=なし 1=あり bit 0 : 不明 ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 保留中のイベントの有無を取得する。 o IBM-PC/AT互換機のINT 15h - Function 530Bhに相当 (イベントステータスの内容は異なる)。 関連 INT 1Fh - Function 9A0Ch 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A0Ch 出力 ■CF=0(正常終了)のとき BL=不明 bit 7〜3 : 未使用(常に0) bit 2〜0 : 不明 ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 INT 1Fh - Function 9A0Dhの設定値を読み出す。詳細不明。 関連 INT 1Fh - Function 9A0Dh INT 1Fh - Function 9A0Dh 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A0Dh BL=不明 bit 7〜3 : 未使用(常にに0) bit 2〜0 : 不明 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 関連 INT 1Fh - Function 9A0Ch INT 1Fh - Function 9A0Eh 分類 Advanced Power Management BIOS 名前 パワーセーブ動作開始時間の取得 Undocumented 対象 PC-9801NS/R・P・NL/R 入力 AX=9A0Eh 出力 ■CF=0(正常終了)のとき BL=時間(0〜60秒) * 0のとき、オートパワーセーブを使用しない ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 自動的にパワーセーブモードに入るまでの時間を取得する。 関連 INT 1Fh - Function 9A0Fh INT 1Fh - Function 9A0Fh 分類 Advanced Power Management BIOS 名前 パワーセーブ動作開始時間の設定 Undocumented 対象 PC-9801NS/R・P・NL/R 入力 AX=9A0Fh BL=時間(0〜60秒) * 0のとき、オートパワーセーブを使用しない 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 04h: BLレジスタの値が範囲外 解説 o 自動的にパワーセーブモードに入るまでの時間を設定する。 BLレジスタで設定する値が1,2,3,5,10,15,20,25,30,35,40,45,50,55,60 でないときは、BLレジスタ以下の最も近い値に設定される。 o 98NOTEメニューのパワーセーブモードの設定と同等。 関連 INT 1Fh - Function 9A0Eh INT 1Fh - Function 9A10h 分類 Advanced Power Management BIOS 名前 オートパワーオフ時間の取得 Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A10h 出力 ■CF=0(正常終了)のとき BL=時間(0〜60分) * 0のとき、オートパワーオフを使用しない ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 オートパワーオフするまでの時間を取得する。 関連 INT 1Fh - Function 9A11h INT 1Fh - Function 9A11h 分類 Advanced Power Management BIOS 名前 オートパワーオフ時間の設定 Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A11h BL=時間(0〜60分) * 0のとき、オートパワーオフを使用しない 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 04h: BLレジスタの値が範囲外、またはレジュームが設定されていない 解説 o オートパワーオフするまでの時間を設定する。 BLレジスタで設定する値が1,2,3,5,10,15,20,25,30,35,40,45,50,55,60 でないときは、BLレジスタ以下の最も近い値に設定される。 o 98NOTEメニューのオートパワーオフの設定と同等。 関連 INT 1Fh - Function 9A10h INT 1Fh - Function 9A12h 分類 Advanced Power Management BIOS 名前 タイマ用カレンダ時計LSIの使用許可状態の取得 Undocumented 対象 PC-9801P 入力 AX=9A12h 出力 ■CF=0(正常終了)のとき AH=0Bh(不明) BL=タイマの使用許可状態 00h: タイマ用カレンダ時計ICは使用できない 02h: タイマ用カレンダ時計ICが使用できる ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o INT 1Fh - Function 9A13hで設定した内容を読み出す。 起動時はBLに00hが返る。詳細不明。 関連 INT 1Fh - Function 9A13h I/O 8E1Eh bit 4 INT 1Fh - Function 9A13h 分類 Advanced Power Management BIOS 名前 タイマ用カレンダ時計LSIの使用許可/禁止 Undocumented 対象 PC-9801P 入力 AX=9A13h BL=タイマの使用許可状態 00h: 使用を禁止する 02h: 使用を許可する 出力 ■CF=0(正常終了)のとき AH=0Bh(不明) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 詳細不明。 BL bit 1=1のとき、I/O 8E1Eh bit 4=1にする BL bit 1=0のとき、I/O 8E1Eh bit 4=0にする 関連 INT 1Fh - Function 9A12h I/O 8E1Eh bit 4 INT 1Fh - Function 9A14h 分類 Advanced Power Management BIOS 名前 タイマ用カレンダ時計LSIからタイマ設定時刻を取得 Undocumented 対象 PC-9801P 入力 AX=9A14h 出力 ■CF=0(正常終了)のとき BH=月 BL=日 CH=時 CL=分 DH=秒 DL= bit 7〜3: 常に00000b bit 2: 不明 1=I/O 5E8Eh bit 7=1のとき 0=I/O 5E8Eh bit 7=0のとき bit 1: 不明 1=I/O 8B1Eh bit 6=0のとき 0=I/O 8B1Eh bit 6=1のとき bit 0: 常に0 ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o INT 1Fh - Function 9A15hで設定した時刻を取得する。 詳細不明。 関連 INT 1Fh - Function 9A15h 0000:045Dh bit7 I/O 5E8Eh bit7 I/O 8E1Eh INT 1Fh - Function 9A15h 分類 Advanced Power Management BIOS 名前 タイマ用カレンダ時計LSIにタイマ時刻を設定・タイマスタート Undocumented 対象 PC-9801P 入力 AX=9A15h BH=月 BL=日 CH=時 CL=分 DH=秒 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 04h: BHレジスタの値が範囲外 解説 o 詳細不明。 関連 INT 1Fh - Function 9A14h INT 1Fh - Function 9A16h 0000:045Dh I/O 5E8Eh bit 7 I/O 8B1Eh bit 6 INT 1Fh - Function 9A16h 分類 Advanced Power Management BIOS 名前 タイマ停止 Undocumented 対象 PC-9801P 入力 AX=9A16h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o INT 1Fh - Function 9A15hでスタートしたタイマを停止する。 詳細不明。 関連 INT 1Fh - Function 9A15h I/O 8B1Eh bit 6 INT 1Fh - Function 9A17h,9A18h 分類 Advanced Power Management BIOS 名前 機能なし Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A17h,9A18h 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 関連 INT 1Fh - Function 9A19h 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A19h 出力 ■CF=0(正常終了)のとき CL= 77h: PC-9801NS/R A7h: PC-9801NX/C, PC-9821Ne, PC-9801NS/A B7h: PC-9801P・NL/R ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 関連 INT 1Fh - Function 9A1Ah 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A1Ah 出力 ■CF=0(正常終了)のとき CL=? bit 7:ローバッテリ時のバッテリ警告ブザー 0= バッテリ警告ブザーを鳴らす 1= バッテリ警告ブザーを鳴らさない bit 6:不明 bit 5:不明 bit 4:不明 bit 3〜1:不明 bit 0:スタンバイモード関係の設定(詳細不明) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o INT 1Fh - Function 9A1Bhで設定した内容を取得する。詳細不明。 関連 INT 1Fh - Function 9A1Bh INT 1Fh - Function 9A1Bh 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A1Bh CL=不明 bit 7:ローバッテリ時のバッテリ警告ブザー 0= バッテリ警告ブザーを鳴らす 1= バッテリ警告ブザーを鳴らさない bit 6:不明 bit 5:不明 bit 4:不明 bit 3〜1:不明 bit 0:スタンバイモード関係の設定(詳細不明) 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 関連 INT 1Fh - Function 9A1Ah INT 1Fh - Function 9A1Ch 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A1Ch BX=不明 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 関連 INT 1Fh - Function 9A1Dh 分類 Advanced Power Management BIOS 名前 98NOTEメニューを開く Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A1Dh 出力 ■CF=0(正常終了) ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 98NOTEメニュー(98ペンメニュー)を開く 関連 0000:059Eh bit3 INT 1Fh - Function 9A1Eh 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A1Eh 出力 ■CF=0(正常終了)のとき BX=システム状態 bit 15〜8: 0(リザーブ) bit 7: プリンタストローブ bit 6: 最後にGDCに送ったコマンド関連 bit 5: カレンダ時計LSIがタイマインタラプト発生中 bit 4: PICに割り込み要求あり bit 3: 0(リザーブ) bit 2: PIC関連 bit 1: 電源切断禁止中 bit 0: 電源切断要求、98NOTEメニュー要求なし ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 関連 0000:0456h 0000:059Eh I/O 5E8Eh bit7 INT 1Fh - Function 9A1Fh 分類 Advanced Power Management BIOS 名前 機能なし Undocumented 対象 PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A1Fh 出力 CF=1(エラー) AH=01h: 無効ファンクション 解説 o 関連 INT 1Fh - Function 9A20h 分類 Advanced Power Management BIOS 名前 サスペンド/レジューム処理ルーチンの登録 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A20h BX:DX=サスペンド/レジューム処理ルーチンのエントリアドレス 出力 ■CF=0(正常終了)のとき BX:DX=旧設定アドレス(0000:0000hのとき未使用) CX=登録ネスティングレベル ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o サスペンド/レジューム時に実行したい処理ルーチンのエントリアドレスを 登録する。 処理ルーチンは、サスペンド時AX=0000h、レジューム時AX=0001hで それぞれFAR CALLされる。自身の処理が終了したあと、このファンクションで 返された旧設定アドレスにジャンプする必要がある。その際、AXを保存して おく。ただし、旧設定アドレスが0000:0000hのときはRETFで終了する。 関連 INT 1Fh - Function 9A21h INT 1Fh - Function 8B00h INT 1Fh - Function 8C00h INT 1Fh - Function 9A21h 分類 Advanced Power Management BIOS 名前 サスペンド/レジューム処理ルーチンの削除 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A21h CX=登録ネスティングレベル BX:DX=旧設定アドレス 出力 ■CF=0(正常終了)のとき AH=00h ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 0Ah: 登録ネスティングレベルが不正 解説 o INT 1Fh - Function 9A20hで登録したサスペンド/ レジューム処理ルーチンを削除する。 登録ネスティングレベルと旧設定アドレスは、INT 1Fh - Function 9A20hで 登録したときに返された値を使用する。 関連 INT 1Fh - Function 9A20h INT 1Fh - Function 8B00h INT 1Fh - Function 8C00h INT 1Fh - Function 9A22h,9A23h 分類 Advanced Power Management BIOS 名前 機能なし Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A22h,9A23h 出力 CF=1(異常終了) AH=01h: 無効ファンクション 解説 o 関連 INT 1Fh - Function 9A24h 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A24h BX:DX=設定アドレス 出力 ■CF=0(正常終了)のとき BX:DX=旧設定アドレス(0000:0000のとき未使用) CX=登録ネスティングレベル ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 解説 o 何等かの事象で発生する割り込みで起動させるユーザルーチンのアドレスを 設定する。どのようなタイミングで呼ばれるかなどの詳細は不明。 関連 INT 1Fh - Function 9A25h INT 1Fh - Function 9A25h 分類 Advanced Power Management BIOS 名前 不明 Undocumented 対象 PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AX=9A25h CX=登録ネスティングレベル BX:DX=旧設定アドレス 出力 ■CF=0(正常終了)のとき AH=00h ■CF=1(エラー)のとき AH=リターンコード 03h: APM BIOSは使用開始宣言されていない 0Ah: 登録ネスティングレベルが不正 解説 o INT 1Fh - Function 9A24hで登録したアドレスを削除する。 登録ネスティングレベルと旧設定アドレスは、INT 1Fh - Function 9A24hで 登録したときに返された値を使用する。 関連 INT 1Fh - Function 9A24h ■Pen BIOS INT 1Fh - Function 9B00h 分類 BIOS 名前 Pen BIOS初期化 Undocumented 対象 PC-9801P 入力 AX=9B00h 出力 CF=0(正常終了) 解説 o Pen BIOSの初期化を行う。 システム起動時には初期化実行済み。 関連 INT 1Fh - Function 9B01h, 9B02h, 9B03h 分類 Pen BIOS 名前 機能なし Undocumented 対象 PC-9801P 入力 AX=9B01h, 9B02h, 9B03h 出力 CF=0(正常終了) 解説 o なにもせずにCF=0で戻る。 関連 INT 1Fh - Function 9B04h 分類 Pen BIOS 名前 タブレット割り込み周期の設定 Undocumented 対象 PC-9801P 入力 AX=9B04h BL=bit 7〜3:未使用 bit 2〜0:タブレット割り込み周期 0= 5Hz 1= 10Hz 2= 20Hz 3= 40Hz 4= 80Hz 5=100Hz(デフォルト) 6=200Hz 7=指定不可 出力 CF=終了状態 0=正常終了 1=異常終了(BL bit 2〜0=7hのとき) 解説 o タブレットがペンを感知したときのINT 0Ehの割り込み周期を設定する。 関連 INT 1Fh - Function 9B07h INT 0Eh(外部割り込み…98Pen) INT 1Fh - Function 9B05h 分類 Pen BIOS 名前 不明 Undocumented 対象 PC-9801P 入力 AX=9B05h BL=bit 7〜3:未使用 bit 2〜0:タブレットへのコマンド選択 出力 CF=0(正常終了) 解説 o BLの値に従ってタブレットにコマンドを送信する。詳細不明。 関連 INT 1Fh - Function 9B07h INT 1Fh - Function 9B06h 分類 Pen BIOS 名前 不明 Undocumented 対象 PC-9801P 入力 AX=9B06h BL=タブレットへのコマンド選択 * BL bit 1,0=11b または BL bit 7=0のとき、CX,DXは引数にならない CX=タブレットコマンド(X座標指定) DX=タブレットコマンド(Y座標指定) 出力 CF=0(正常終了) 解説 o BLの値に従ってタブレットにコマンドを送信する。詳細不明。 o BL=80h以外の値を設定すると、INT 1Fh - Function 9B08hが必ず 異常終了する。 関連 INT 1Fh - Function 9B07h INT 1Fh - Function 9B07h 分類 Pen BIOS 名前 PenBIOSのモード設定状態取得 Undocumented 対象 PC-9801P 入力 AX=9B07h 出力 CF=0(正常終了) AL=INT 1Fh - Function 9B06hで設定したBLの値 BL=bit 7:マウスエミュレーションモード 1=間接 0=直接 bit 6〜4:タブレット割り込み周期 0= 5Hz 1= 10Hz 2= 20Hz 3= 40Hz 4= 80Hz 5=100Hz(デフォルト) 6=200Hz bit 3〜1:INT 1Fh - Function 9B05hで設定したBLの値 000b=デフォルト bit 0:マウスエミュレーション 1=する 0=しない CX=INT 1Fh - Function 9B06hで設定したCXの値 DX=INT 1Fh - Function 9B06hで設定したDXの値 解説 o Pen BIOSのモード設定状態を取得する。 関連 INT 1Fh - Function 9B06h INT 1Fh - Function 9B08h INT 1Fh - Function 9B09h INT 1Fh - Function 9B08h 分類 Pen BIOS 名前 マウスエミュレーションモード設定 Undocumented 対象 PC-9801P 入力 AX=9B08h BX=マウスエミュレーションモード 0000h=直接モード not 0=間接モード 出力 CF=終了状態 0=正常終了 1=異常終了 解説 o 98ペンメニューのマウスエミュレーション設定も変化するので、 設定状態はリセット・電源OFF後も有効。 o INT 1Fh - Function 9B06hでBL=80h以外の値が設定されているとき、 本ファンクションは異常終了する。 o マウスエミュレーションでは、ペンのX軸方向の総カウント数は640、 Y軸方向の総カウント数は400である(総カウント数とは、画面の左端から 右端、また上端から下端までペンを移動したときの、マウスI/Fから読み 取れるカウント数)。 o マウスエミュレーション直接モードでは、ボタン操作は以下のように行う。 左ボタンのクリック :ペン先で画面に1回触れて離す 左ボタンのダブルクリック:ペン先で画面に2回触れて離す 左ボタンのドラッグ :ペン先で画面に触れたまま移動する 右ボタンのクリック :サイドスイッチを押した状態で、 ペン先で画面に1回触れて離す 右ボタンのダブルクリック:サイドスイッチを押した状態で、 ペン先で画面に2回触れて離す 右ボタンのドラッグ :サイドスイッチを押した状態で、 ペン先で画面に触れたまま移動する o マウスエミュレーション間接モードでは、ボタン操作は以下のように行う。 左ボタンのクリック(1) :ペン先が画面に触れた状態でサイドスイッチを 1回押し、ペン先を持ち上げた後、再度ペン先で 画面に1回触れて離す 左ボタンのクリック(2) :ペン先が画面に触れた状態でサイドスイッチを 1回押して離す 左ボタンのダブルクリック:ペン先が画面に触れた状態でサイドスイッチを 1回押し、ペン先を持ち上げた後、再度ペン先で 画面に2回触れて離す 左ボタンのドラッグ(1) :ペン先が画面に触れた状態でサイドスイッチを 1回押し、ペン先を持ち上げた後、再度ペン先で 画面に触れたままペンを移動する 左ボタンのドラッグ(2) :ペン先が画面に触れた状態でサイドスイッチを 1回押したままペンを移動する 右ボタンのクリック(1) :ペン先が画面に触れた状態でサイドスイッチを 素早く2回押し、ペン先を持ち上げた後、再度 ペン先で画面に1回触れて離す 右ボタンのクリック(2) :ペン先が画面に触れた状態でサイドスイッチを 素早く2回押して離す 右ボタンのダブルクリック:ペン先が画面に触れた状態でサイドスイッチを 素早く2回押し、ペン先を持ち上げた後、再度 ペン先で画面に2回触れて離す 右ボタンのドラッグ(1) :ペン先が画面に触れた状態でサイドスイッチを 素早く2回押し、ペン先を持ち上げた後、再度 ペン先で画面に触れたままペンを移動する 右ボタンのドラッグ(2) :ペン先が画面に触れた状態でサイドスイッチを 1回押して離し、素早く再度押したままペンを 移動する 関連 INT 1Fh - Function 9B07h INT 1Fh - Function 9B09h INT 1Fh - Function 9B09h 分類 Pen BIOS 名前 マウスエミュレーションOFF Undocumented 対象 PC-9801P 入力 AX=9B09h 出力 CF=0(正常終了) 解説 o マウスエミュレーションを解除する。 o 98ペンメニューのマウスエミュレーション設定も変化するので、 設定状態はリセット・電源OFF後も有効。 関連 INT 1Fh - Function 9B07h INT 1Fh - Function 9B08h INT 1Fh - Function 9B0Ah 分類 Pen BIOS 名前 不明 Undocumented 対象 PC-9801P 入力 AX=9B0Ah BL=マウスボタン制御関係 bit 1: マウスの右ボタン状態に影響 bit 0: マウスの左ボタン状態に影響 CH=マウスエミュレーションのX座標関連 CL=マウスエミュレーションのY座標関連 出力 CF=0(正常終了) 解説 o マウスエミュレート関係の設定。詳細不明。 関連 INT 1Fh - Function 9B0Bh 分類 Pen BIOS 名前 不明 Undocumented 対象 PC-9801P 入力 AX=9B0Bh 出力 ES:DX=F540:058Eh 解説 o ES:DXにPen BIOS中のなんらかのテーブルのアドレスを返す。詳細不明。 関連 INT 1Fh - Function 9B0Ch 分類 Pen BIOS 名前 現在のペン状態の取得 Undocumented 対象 PC-9801P 入力 AX=9B0Ch 出力 CF=終了状態 0=ペンが感知できた(レジスタにペン状態出力) 1=ペンが感知できなかった(レジスタ変化なし) AH=ペンの状態 bit 7:ペンが液晶上に 1=ない 0=ある bit 1:ペンのサイドボタンが押されて 1=いる 0=いない bit 0:ペン先が押されて 1=いる 0=いない AL=不明 BH=ペンと画面の距離(値が小さいほど近い) BL=不明(通常0が読み出される) CH=ペンの左右方向の角度(数値部の有効精度6ビットの符号付整数) ---------+-----+-----+----- 傾き方向 |左傾 |鉛直 |右傾 ---------+-----+-----+----- 値 |-30h | 00h |+30h ---------+-----+-----+----- * ペンを右に倒すと正 * ペンを倒し過ぎるとタブレットが感知できなくなる CL=ペンの前後方向の角度(数値部の有効精度6ビットの符号付整数) ---------+-----+-----+----- 傾き方向 |後傾 |鉛直 |前傾 ---------+-----+-----+----- 値 |-30h | 00h |+30h ---------+-----+-----+----- * ペンを手前に倒すと正 * ペンを倒し過ぎるとタブレットが感知できなくなる SI=ペンのX座標 -------------+------------+------------+------------+------------ 感知範囲 |左感知限界点|ガラス左端 |ガラス右端 |右感知限界点 -------------+------------+------------+------------+------------ 上下非反転時 |-0060h |+001Ah |+0861h |+091Ch 上下反転時 |-00A0h |+001Ah |+0861h |+08CDh -------------+------------+------------+------------+------------ DI=ペンのY座標 -------------+------------+------------+------------+------------ 感知範囲 |上感知限界点|ガラス上端 |ガラス下端 |下感知限界点 -------------+------------+------------+------------+------------ 上下非反転時 |-0060h |+0010h |+0540h |+05A6h 上下反転時 |-0060h |+0010h |+0540h |+05A6h -------------+------------+------------+------------+------------ 解説 o このファンクションが実行されると、タブレットからペンの情報を 読み出し、ワークエリアにセットする。 o ペンが感知できたとき、各レジスタにペンの詳細な情報を返す。 ペンが感知できなかったときはレジスタ変化なし。 o このファンクションを連続実行すると、ペンを検出していてもタブレットが 割り込みを発生しなくなるので注意する(INT 1Fh - Function 9B0Eh参照)。 o ガラス寸法は、横134mm×縦213mm。 タブレットはガラスの外側まで感知範囲がある。 X座標はガラス外の左10mm位、右13mm位まで感知可能。 Y座標はガラス外の上12mm位、下12mm位まで感知可能。 o CH,CL,SI,DIで得られる値は実測値の概数。ペンを動かすタイミングに よっては、限界点でこの値が得られないことがある。 関連 INT 1Fh - Function 9B0Dh INT 1Fh - Function 9B0Dh 分類 Pen BIOS 名前 ペンを最後に感知したときのペン状態の取得 Undocumented 対象 PC-9801P 入力 AX=9B0Dh 出力 CF=0(正常終了) AH,AL,BX,CH,CL,SI,DIはINT 1Fh - Function 9B0Chの出力と同じ 解説 o 最後にペンが感知されたときの状態を返す。 o ペン感知時に定期的に発生するタブレット割り込み(INT 0Eh)、または INT 1Fh - Function 9B0Ch処理ルーチン内で実行されるタブレット情報 取得ルーチンがワークエリアにセットした値を読み出し、レジスタに返す。 o このファンクションでは、現在ペンが感知されているかどうかを知ることは できない。 関連 INT 1Fh - Function 9B0Ch INT 1Fh - Function 9B0Eh 分類 Pen BIOS 名前 ペン感知時のユーザルーチンのセット Undocumented 対象 PC-9801P 入力 AX=9B0Eh ES:DX=ペン感知時のユーザルーチン * 0000:0000hをセットするとユーザルーチンの呼び出し解除 出力 CF=0(正常終了) 解説 o INT 0Eh(タブレット割り込み)から呼び出されるユーザルーチンを定義する。 呼び出しを解除するには、ES:DX=0000:0000hで設定する。 o ユーザルーチンエントリ時、AH,AL,BX,CH,CL,SI,DIには INT 1Fh - Function 9B0Chの出力と同じデータが入っている。 o タブレットがペンを検知すると、INT 1Fh - Function 9B04hで指定した 周期でINT 0Ehが発生する。ただし、INT 1Fh - Function 9B0Chを 連続実行していると、タブレットが割り込みを発生しなくなる。 関連 INT 1Fh - Function 9B04h INT 1Fh - Function 9B0Ch INT 0Eh(外部割り込み…98Pen) ■NOTE関連BIOS INT 1Fh - Function 9Ch Subfuncion 00h 分類 ??? BIOS 名前 ソフトウェアディップスイッチ保存 Undocumented 対象 PC-9801NL・NS/T・US 入力 AX=9C00h 出力 CF=0 解説 o I/O 841E〜8F1Ehに設定されているソフトウェアディップスイッチの 内容を外字未使用領域(JIS漢字コード7620h)に保存する。 このファンクションを実行すると、現在のI/O 841E〜8F1Ehの設定状態を 次回以降のリセット時のデフォルトにすることができる(PC-9801USを除く)。 関連 I/O 841E〜8F1Eh INT 1Fh - Function 9Ch 分類 ROMドライブ BIOS 名前 ROMドライブ用パッチ領域からの一括読み出し Undocumented 対象 PC-98LT・HA 入力 AH=9Ch ES:BX=転送先アドレス DX=パッチ領域の転送元アドレス CX=転送バイト数 出力 CF=終了条件 1: SRAMのチェックサムに異常がある 0: SRAMのチェックサムは正常 解説 o バッテリバックアップされたSRAM内のROMドライブ用パッチ領域の内容を メインメモリに一括して読み出す。 関連 INT 1Fh - Function 9Dh INT 1Fh - Function 9Dh Subfunction 00h,01h 分類 ROMドライブ BIOS 名前 ROMドライブのライトプロテクト設定 Undocumented 対象 PC-9801NL 入力 AH=9Dh AL=ライトプロテクト設定 00h: ライトプロテクトする 01h: 書き込み可能にする 出力 CF=0(正常終了) 解説 o ROMドライブのライトプロテクト設定を行う。 関連 INT 1Fh - Function 95h 0000:045Ch bit 3 INT 1Fh - Function 9Dh Subfunction 02h 分類 ROMドライブ BIOS 名前 ROMドライブパッチ情報の転送 Undocumented 対象 PC-9801NL 入力 AX=9D02h 出力 CF=0 解説 o ROMドライブのパッチ情報を一括してNOTEバンクRAM(バンク番号AEh,AFh)に 転送する。 o ROMドライブのパッチ情報は、システム起動時にSRAMからNOTEバンクRAMに 転送される。ROMドライブを読み出す際には、NOTEバンクRAMに転送されている 内容が参照される。 このファンクションを実行すると、SRAMからNOTEバンクRAMへの転送を 行う。目的は不明。 関連 INT 1Fh - Function 95h INT 1Fh - Function 9Dh 分類 ROMドライブ BIOS 名前 ROMドライブ用パッチ領域への一括書き込み Undocumented 対象 PC-98LT・HA 入力 AH=9Dh ES:BX=転送元アドレス DX=パッチ領域の転送先アドレス CX=転送バイト数 出力 CF=0 解説 o バッテリバックアップされたSRAM内のROMドライブ用パッチ領域に、 メインメモリの内容を一括して書き込む。 関連 INT 1Fh - Function 9Ch INT 1Fh - Function 9Eh Subfunction 00h,01h 分類 パワーセーブBIOS 名前 電源OFF禁止制御 Undocumented 対象 PC-9801NL 入力 AH=9Eh AL=電源OFFの許可/禁止指定 00h: 電源OFFを許可する 01h: 電源OFFを禁止する 出力 なし 解説 o AL=01hのとき0000:0456hをインクリメントする。 AL=00hのとき0000:0456hをデクリメントする。 0000:0456hが00hのときのみ、電源の切断が許可される。すなわち、 Subfunction 01hと00hの呼ばれた回数が等しいとき電源OFFが可能になる。 INT 1Fh - Function 98hによる電源OFFも禁止される。 関連 INT 1Fh - Function 98h 0000:0456h INT 1Fh - Function 9Eh Subfunction 02h,03h 分類 パワーセーブBIOS 名前 パワーセーブモードへの移行の禁止/許可 Undocumented 対象 PC-9801NL・NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne 入力 AH=9Eh AL=パワーセーブモードへの移行 02h: 許可 03h: 禁止 出力 なし 解説 o 自動的にパワーセーブモードに移行することを禁止/許可する。 u PC-9801NS/Tでは、サブファンクション番号の意味が逆になっている。 AL=02hで禁止、AL=03hで許可の動作をする。 関連 0000:045Ch bit 1 INT 1Fh - Function 9Eh Subfunction 04h 分類 パワーセーブBIOS 名前 パワーセーブモード移行用タイマのリセット Undocumented 対象 PC-9801NL 入力 AX=9E04h 出力 なし 解説 o パワーセーブモードに入るまでの時間を測っているタイマをリセットする。 関連 I/O 08F0h - 0045h ■PC-98LT・HA SRAM BIOS INT 1Fh - Function 9Eh 分類 SRAM BIOS 名前 SRAMのチェックサム検査 Undocumented 対象 PC-98LT・HA 入力 AH=9Eh 出力 CF=終了条件 1: チェックサムに異常がある 0: チェックサムに異常がない 解説 o SRAMのチェックサムを検査する。 関連 INT 1Fh - Function 9Fh INT 1Fh - Function 9Fh 分類 SRAM BIOS 名前 SRAMのチェックサム設定 Undocumented 対象 PC-98LT・HA 入力 AH=9Fh 出力 CF=0 解説 o SRAMのチェックサムデータを更新する。 SRAMの内容を書き換えたあとに実行する。 関連 INT 1Fh - Function 9Eh 文献 TheBASIC'92/6-p.113 (c)enjo